# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=mitmproxy
pkgver=10.1.1
pkgrel=0
pkgdesc="Interactive TLS-capable intercepting HTTP proxy"
url="https://mitmproxy.org/"
license="MIT"
# armhf, s390x: limited by py3-zstandard
# ppc64le, riscv64, s390x: limited by py3-mitmproxy-rs
arch="noarch !armhf !ppc64le !riscv64 !s390x"
depends="
	py3-aioquic
	py3-asgiref
	py3-brotli
	py3-certifi
	py3-cryptography
	py3-flask
	py3-h11
	py3-h2
	py3-hyperframe
	py3-kaitaistruct
	py3-ldap3
	py3-mitmproxy-rs
	py3-msgpack
	py3-passlib
	py3-protobuf
	py3-openssl
	py3-parsing
	py3-pyperclip
	py3-ruamel.yaml
	py3-sortedcontainers
	py3-tornado
	py3-urwid
	py3-wsproto
	py3-publicsuffix2
	py3-zstandard
	"
makedepends="
	py3-gpep517
	py3-installer
	py3-setuptools
	py3-wheel
	"
checkdepends="
	py3-hypothesis
	py3-parver
	py3-pytest
	py3-pytest-asyncio
	py3-requests
	"
subpackages="$pkgname-pyc"
source="https://github.com/mitmproxy/mitmproxy/archive/$pkgver/mitmproxy-$pkgver.tar.gz
	skip-test-optmanager-x86.patch
	"

# secfixes:
#   7.0.3-r0:
#     - CVE-2021-39214

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	pytest \
		--deselect "test/mitmproxy/test_version.py::test_get_version" \
		--deselect "test/mitmproxy/proxy/test_mode_servers.py::test_wireguard"
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/mitmproxy-$pkgver-py3-none-any.whl
}

sha512sums="
c5699bbc45dc14422f7aa7df716a67ac9995722a69492d45497b16de3f2547a683122a63ac17884575e184f8f846c69b551fadb1aa7baffc977afa5b63cc7d6e  mitmproxy-10.1.1.tar.gz
1baa88dae9f664af4bed62f89a7f5d13685b42774ea19563eba7298ef09fa07fafb4d5f1650e044561a5d304451d916e6c9833ad9755204d424bea6ed3bdb4fd  skip-test-optmanager-x86.patch
"
